<?php

namespace App\Observers;



use App\Common\RabbitMQ\UserPublisher;
use App\Models\User;
use Illuminate\Support\Facades\Log;

class UserObserver
{
    /**
     * 处理 User「created」事件
     *
     * @return void
     */
    public function created(User $user)
    {
        $userInfo = $user->toArray();
        if(UserPublisher::publish($userInfo)) {
            Log::info('创建用户信息投递消息：', $userInfo);
        } else {
            Log::info('创建用户信息投递消息error：', $userInfo);
        }
    }

    /**
     * 处理 User「updated」事件
     *
     * @return void
     */
    public function updated(User $user)
    {
        $userInfo = $user->toArray();
        if(UserPublisher::publish($userInfo)) {
            Log::info('更新用户投递信息消息：', $userInfo);
        } else {
            Log::info('更新用户信息投递消息error：', $userInfo);
        }
    }

    /**
     * 处理 User「deleted」事件
     *
     * @return void
     */
    public function deleted(User $user)
    {
        //
    }

    /**
     * 处理 User「forceDeleted」事件
     *
     * @return void
     */
    public function forceDeleted(User $user)
    {
        //
    }
}